<?php

if(!defined("INCLUDE")) die("Nedostatečné oprávnění pro spouštění souboru.");

/** -----------------------------------------------------------------------------------------------
	* CLASS CONTROLLER
	* -----------------------------------------------------------------------------------------------
	* Controller je prostředníkem mezi uživatelovo stránkou a samotnými procesory jednotlivých modulů,
	* dle aktuálně získané pozice volá danou stránku či danou akci k provedení, bude-li tak uživatel
	* na stránce pro zobrazení formuláře na přidání článku zavolá kontruktor daný procesor pro mdoul
	* a zavolá danou akci provedení, v tomhle případě funkci render, která obdrží jakou stránku
	* vykreslit.
	*
	* -----------------------------------------------------------------------------------------------
	* PROMĚNNÉ
	* -----------------------------------------------------------------------------------------------
	*	private $modul_procesor;	-- Proměnná pro uložení instance třídy daného procesoru.
	* 
	* -----------------------------------------------------------------------------------------------
	* FUNKCE
	* -----------------------------------------------------------------------------------------------
	*	public function render($page)				-- Generuje danou stránku pro vypsání informací.
	* public function exe_action($action)	-- Zavolá metodu procesoru pro vygenerování dané akce.
	*
	* -----------------------------------------------------------------------------------------------
	*	INFORMACE O SOUBORU
	* -----------------------------------------------------------------------------------------------
	* Autor: Zechy
	* Datum poslední úpravy: 6.11.2012
	*
	*/

# --------------------------------------------------------------------------------------------------------------------------
class controller
{
	# Proměnné
	private $modul_procesor;

	# ------------------------------------------------------------------------------------------------------------------------
	# Konstruktor třídy
	# ------------------------------------------------------------------------------------------------------------------------
	public function __construct($modul)
	{
		if($modul != "index") $this->modul_procesor = new procesor;
	}

	# ------------------------------------------------------------------------------------------------------------------------
	# Vykreslení hlavní tránky EasyCMS
	# ------------------------------------------------------------------------------------------------------------------------
	public function render_index()
	{
		$system = new system;
		$system->get_basic_info();
		$system->page_statistics();
	}

	# ------------------------------------------------------------------------------------------------------------------------
	# Vykreslení požadované stránky
	# ------------------------------------------------------------------------------------------------------------------------
	public function render($page)
	{
		call_user_func(array($this->modul_procesor, $page));
	}

	# ------------------------------------------------------------------------------------------------------------------------
	# Spuštění žádané akce
	# ------------------------------------------------------------------------------------------------------------------------
	public function exe_action($action)
	{
		call_user_func(array($this->modul_procesor, "action_".$action));
	}
}

?>